NA
data_predictions <- read_csv("../../data/raw/data_predictions.csv")
data_processed <- read_rds("../../data/processed/data_processed.rds") |>
rename(love = other_evaluations_love,
murder = other_evaluations_murder,
vacation = other_evaluations_vacation,
racist = other_evaluations_racist,
pedophile = other_evaluations_pedophile,
shrewd = other_evaluations_shrewd,
honest = other_evaluations_honest,
dishonest = other_evaluations_dishonest,
mcdonalds = other_evaluations_mcdonalds,
burgerking = other_evaluations_burgerking,
conservatives = other_evaluations_conservatives,
liberals = other_evaluations_liberals,
girls_skirts = other_beliefs_girls_skirts,
boys_skirts = other_beliefs_boys_skirts,
cats_legs = other_beliefs_cats_legs,
fish_legs = other_beliefs_fish_legs)data_processed |>
count(attention_check1,
attention_check2,
attention_check3,
self_exclude,
bot_check,
age_check,
completeness_check,
completion_time_check) |>
arrange(desc(n))## # A tibble: 15 × 9
## attention_check1 attention_check2 attention_check3 self_exclude bot_check
## <chr> <chr> <chr> <chr> <chr>
## 1 passed passed passed passed passed
## 2 failed failed failed failed failed
## 3 failed failed failed failed failed
## 4 passed passed passed passed passed
## 5 passed passed passed passed passed
## 6 passed passed failed passed passed
## 7 failed failed failed failed failed
## 8 failed passed passed passed passed
## 9 passed failed failed failed passed
## 10 passed failed passed passed passed
## 11 passed passed failed failed failed
## 12 passed passed failed failed failed
## 13 passed passed passed failed passed
## 14 passed passed passed passed failed
## 15 passed passed passed passed passed
## # ℹ 4 more variables: age_check <chr>, completeness_check <chr>,
## # completion_time_check <chr>, n <int>
data_exclusions <- data_processed |>
filter(global_check == "passed")
write_csv(data_exclusions, "../../data/processed/data_processed_with_exclusions.csv")
# for {effectsize} package
data_exclusions |>
select(participant_id, gender, ethnicity, country, age,
evaluations_poop = classic_poop,
evaluations_chocolate = classic_chocolate,
evaluations_poop_pos_neg = classic_poop_pos_neg,
evaluations_poop_pleasant_unpleasant = classic_poop_pleasant_unpleasant,
evaluations_poop_good_bad = classic_poop_good_bad,
evaluations_chocolate_pos_neg = classic_chocolate_pos_neg,
evaluations_chocolate_pleasant_unpleasant = classic_chocolate_pleasant_unpleasant,
evaluations_chocolate_good_bad = classic_chocolate_good_bad) |>
write_csv("../../data/processed/data_processed_subset_with_exclusions.csv")
ggplot(data_exclusions, aes(completion_time/60)) +
geom_histogram(binwidth = 1, boundary = 0) +
xlab("minutes") +
scale_x_continuous(breaks = scales::breaks_pretty(n = 15), limits = c(0, NA)) +
geom_vline(xintercept = 2, linetype = "dashed", color = "red") +
ggtitle("Study completion time in non-excluded participants")data_processed |>
count(global_check) |>
mutate(percent = n/sum(n)*100) |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| global_check | n | percent |
|---|---|---|
| failed | 30 | 5.78 |
| passed | 489 | 94.22 |
data_exclusions |>
summarize(n = n(),
mean_age = mean(age),
sd_age = sd(age)) |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| n | mean_age | sd_age |
|---|---|---|
| 489 | 44.9 | 13.4 |
data_exclusions |>
count(gender) |>
mutate(percent = n/sum(n)*100) |>
mutate_if(is.numeric, round_half_up, digits = 1) |>
kable() |>
kable_classic(full_width = FALSE)| gender | n | percent |
|---|---|---|
| female | 264 | 54.0 |
| male | 224 | 45.8 |
| non-binary | 1 | 0.2 |
data_exclusions |>
count(ethnicity) |>
mutate(percent = n/sum(n)*100) |>
mutate_if(is.numeric, round_half_up, digits = 1) |>
kable() |>
kable_classic(full_width = FALSE)| ethnicity | n | percent |
|---|---|---|
| Asian | 17 | 3.5 |
| Black | 25 | 5.1 |
| Mixed | 19 | 3.9 |
| Other | 5 | 1.0 |
| White | 423 | 86.5 |
data_exclusions |>
count(country) |>
mutate(percent = n/sum(n)*100) |>
mutate_if(is.numeric, round_half_up, digits = 1) |>
kable() |>
kable_classic(full_width = FALSE)| country | n | percent |
|---|---|---|
| United Kingdom | 418 | 85.5 |
| United States | 71 | 14.5 |
data_exclusions_reshaped <- data_exclusions |>
select(participant_id,
desirability_chocolate,
desirability_poop,
classic_chocolate,
classic_poop,
original_chocolate,
original_poop) |>
pivot_longer(cols = -participant_id,
names_to = c("scale", "stimulus"),
names_sep = "_",
values_to = "response")
ggplot(data_exclusions_reshaped, aes(response)) +
geom_histogram(boundary = 0.5, binwidth = 1) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7) +
theme_linedraw() +
facet_grid(scale ~ stimulus)data_exclusions_reshaped |>
group_by(scale, stimulus) |>
summarize(mean = mean(response),
sd = sd(response)) |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| scale | stimulus | mean | sd |
|---|---|---|---|
| classic | chocolate | 6.44 | 0.77 |
| classic | poop | 1.76 | 0.90 |
| desirability | chocolate | 6.40 | 1.01 |
| desirability | poop | 1.19 | 0.63 |
| original | chocolate | 5.52 | 0.76 |
| original | poop | 1.99 | 0.65 |
cfa_constrained <- function(
dat,
items,
ordered = FALSE,
std_lv = TRUE,
enforce_tau_eq = TRUE,
thresholds = list(min_std_loading = 0.40, min_r2 = 0.20)
){
stopifnot(all(items %in% names(dat)))
if (length(items) < 3) stop("Need ≥ 3 items.")
# --- Model syntax
load_part <- if (enforce_tau_eq) paste(paste0("a*", items), collapse = " + ")
else paste(items, collapse = " + ")
mod <- paste0("F =~ ", load_part)
# --- Estimation
estimator <- if (ordered) "WLSMV" else "MLR"
miss <- if (ordered) "listwise" else "fiml"
ordered_vec <- if (ordered) items else NULL
fit <- lavaan::cfa(
model = mod,
data = dat,
std.lv = std_lv,
meanstructure = TRUE,
estimator = estimator,
missing = miss,
ordered = ordered_vec
)
# --- Global fit indices
fm <- lavaan::fitMeasures(
fit,
c("chisq","df","pvalue","cfi","tli","rmsea",
"rmsea.ci.lower","rmsea.ci.upper","srmr")
)
fit_table <- tibble::enframe(fm, name = "fit_index", value = "value")
# --- Loadings and R²
loadings <- lavaan::standardizedSolution(fit) |>
dplyr::filter(op == "=~", lhs == "F", rhs %in% items) |>
dplyr::transmute(item = rhs, std_loading = est.std)
r2_tbl <- tibble::enframe(lavaan::lavInspect(fit, "r2"),
name = "item", value = "R2") |>
dplyr::filter(item %in% items)
diag <- dplyr::left_join(loadings, r2_tbl, by = "item") |>
dplyr::mutate(
flag_loading = std_loading < thresholds$min_std_loading,
flag_r2 = R2 < thresholds$min_r2,
flag_any = flag_loading | flag_r2
)
list(
call = match.call(),
model_syntax = mod,
fit = fit,
fit_indices = fit_table,
item_diagnostics = diag
)
}res <- cfa_constrained(data_exclusions,
items = c(
"original_chocolate_like",
"original_chocolate_attention_capturing",
"original_chocolate_unusual",
"original_chocolate_figure_out",
"original_chocolate_positive",
"original_chocolate_fixtated",
"original_chocolate_look_away",
"original_chocolate_focused",
"original_chocolate_negative",
"original_chocolate_disgusting",
"original_chocolate_appealing",
"original_chocolate_eye_catching",
"original_chocolate_attractive",
"original_chocolate_avoid_looking"
),
ordered = FALSE)
# global fit
res$fit_indices |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| fit_index | value |
|---|---|
| chisq | 1986.10 |
| df | 90.00 |
| pvalue | 0.00 |
| cfi | 0.46 |
| tli | 0.46 |
| rmsea | 0.21 |
| rmsea.ci.lower | 0.20 |
| rmsea.ci.upper | 0.22 |
| srmr | 0.43 |
# item diagnostics (loadings, R2, max |std residual|, largest MI, and flags)
res$item_diagnostics |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| item | std_loading | R2 | flag_loading | flag_r2 | flag_any |
|---|---|---|---|---|---|
| original_chocolate_like | 0.73 | 0.53 | FALSE | FALSE | FALSE |
| original_chocolate_attention_capturing | 0.58 | 0.34 | FALSE | FALSE | FALSE |
| original_chocolate_unusual | 0.44 | 0.20 | FALSE | TRUE | TRUE |
| original_chocolate_figure_out | 0.36 | 0.13 | TRUE | TRUE | TRUE |
| original_chocolate_positive | 0.70 | 0.49 | FALSE | FALSE | FALSE |
| original_chocolate_fixtated | 0.45 | 0.21 | FALSE | FALSE | FALSE |
| original_chocolate_look_away | 0.59 | 0.35 | FALSE | FALSE | FALSE |
| original_chocolate_focused | 0.47 | 0.22 | FALSE | FALSE | FALSE |
| original_chocolate_negative | 0.71 | 0.50 | FALSE | FALSE | FALSE |
| original_chocolate_disgusting | 0.71 | 0.50 | FALSE | FALSE | FALSE |
| original_chocolate_appealing | 0.66 | 0.43 | FALSE | FALSE | FALSE |
| original_chocolate_eye_catching | 0.61 | 0.37 | FALSE | FALSE | FALSE |
| original_chocolate_attractive | 0.66 | 0.44 | FALSE | FALSE | FALSE |
| original_chocolate_avoid_looking | 0.63 | 0.40 | FALSE | FALSE | FALSE |
data_exclusions |>
select(like = original_chocolate_like,
attention_capturing = original_chocolate_attention_capturing,
unusual = original_chocolate_unusual,
figure_out = original_chocolate_figure_out,
positive = original_chocolate_positive,
fixtated = original_chocolate_fixtated,
look_away = original_chocolate_look_away,
focused = original_chocolate_focused,
negative = original_chocolate_negative,
disgusting = original_chocolate_disgusting,
appealing = original_chocolate_appealing,
eye_catching = original_chocolate_eye_catching,
attractive = original_chocolate_attractive,
avoid_looking = original_chocolate_avoid_looking) |>
cor() |>
round_half_up(2)## like attention_capturing unusual figure_out positive
## like 1.00 0.58 -0.02 0.31 0.70
## attention_capturing 0.58 1.00 0.06 0.47 0.59
## unusual -0.02 0.06 1.00 0.18 -0.02
## figure_out 0.31 0.47 0.18 1.00 0.41
## positive 0.70 0.59 -0.02 0.41 1.00
## fixtated 0.52 0.61 0.18 0.56 0.58
## look_away 0.41 0.29 -0.14 0.10 0.37
## focused 0.48 0.55 0.12 0.52 0.55
## negative 0.45 0.30 -0.11 0.14 0.49
## disgusting 0.27 0.14 -0.11 0.03 0.22
## appealing 0.68 0.51 -0.02 0.31 0.62
## eye_catching 0.55 0.73 0.04 0.45 0.56
## attractive 0.58 0.61 -0.02 0.38 0.64
## avoid_looking 0.39 0.25 -0.10 0.11 0.35
## fixtated look_away focused negative disgusting appealing
## like 0.52 0.41 0.48 0.45 0.27 0.68
## attention_capturing 0.61 0.29 0.55 0.30 0.14 0.51
## unusual 0.18 -0.14 0.12 -0.11 -0.11 -0.02
## figure_out 0.56 0.10 0.52 0.14 0.03 0.31
## positive 0.58 0.37 0.55 0.49 0.22 0.62
## fixtated 1.00 0.22 0.73 0.22 0.10 0.48
## look_away 0.22 1.00 0.23 0.39 0.24 0.36
## focused 0.73 0.23 1.00 0.27 0.13 0.44
## negative 0.22 0.39 0.27 1.00 0.38 0.30
## disgusting 0.10 0.24 0.13 0.38 1.00 0.27
## appealing 0.48 0.36 0.44 0.30 0.27 1.00
## eye_catching 0.62 0.29 0.56 0.25 0.13 0.60
## attractive 0.57 0.40 0.55 0.31 0.21 0.69
## avoid_looking 0.20 0.52 0.20 0.45 0.30 0.38
## eye_catching attractive avoid_looking
## like 0.55 0.58 0.39
## attention_capturing 0.73 0.61 0.25
## unusual 0.04 -0.02 -0.10
## figure_out 0.45 0.38 0.11
## positive 0.56 0.64 0.35
## fixtated 0.62 0.57 0.20
## look_away 0.29 0.40 0.52
## focused 0.56 0.55 0.20
## negative 0.25 0.31 0.45
## disgusting 0.13 0.21 0.30
## appealing 0.60 0.69 0.38
## eye_catching 1.00 0.77 0.29
## attractive 0.77 1.00 0.38
## avoid_looking 0.29 0.38 1.00
res <- cfa_constrained(data_exclusions,
items = c("original_poop_like",
"original_poop_attention_capturing",
"original_poop_unusual",
"original_poop_figure_out",
"original_poop_positive",
"original_poop_fixtated",
"original_poop_look_away",
"original_poop_focused",
"original_poop_negative",
"original_poop_disgusting",
"original_poop_appealing",
"original_poop_eye_catching",
"original_poop_attractive",
"original_poop_avoid_looking"),
ordered = FALSE)
# global fit
res$fit_indices |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| fit_index | value |
|---|---|
| chisq | 1538.21 |
| df | 90.00 |
| pvalue | 0.00 |
| cfi | 0.23 |
| tli | 0.22 |
| rmsea | 0.18 |
| rmsea.ci.lower | 0.17 |
| rmsea.ci.upper | 0.19 |
| srmr | 0.18 |
# item diagnostics (loadings, R2, max |std residual|, largest MI, and flags)
res$item_diagnostics |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| item | std_loading | R2 | flag_loading | flag_r2 | flag_any |
|---|---|---|---|---|---|
| original_poop_like | 0.61 | 0.37 | FALSE | FALSE | FALSE |
| original_poop_attention_capturing | 0.15 | 0.02 | TRUE | TRUE | TRUE |
| original_poop_unusual | 0.15 | 0.02 | TRUE | TRUE | TRUE |
| original_poop_figure_out | 0.31 | 0.10 | TRUE | TRUE | TRUE |
| original_poop_positive | 0.35 | 0.12 | TRUE | TRUE | TRUE |
| original_poop_fixtated | 0.27 | 0.07 | TRUE | TRUE | TRUE |
| original_poop_look_away | 0.22 | 0.05 | TRUE | TRUE | TRUE |
| original_poop_focused | 0.21 | 0.04 | TRUE | TRUE | TRUE |
| original_poop_negative | 0.17 | 0.03 | TRUE | TRUE | TRUE |
| original_poop_disgusting | 0.21 | 0.04 | TRUE | TRUE | TRUE |
| original_poop_appealing | 0.49 | 0.24 | FALSE | FALSE | FALSE |
| original_poop_eye_catching | 0.17 | 0.03 | TRUE | TRUE | TRUE |
| original_poop_attractive | 0.66 | 0.44 | FALSE | FALSE | FALSE |
| original_poop_avoid_looking | 0.29 | 0.08 | TRUE | TRUE | TRUE |
data_exclusions |>
select(like = original_poop_like,
attention_capturing = original_poop_attention_capturing,
unusual = original_poop_unusual,
figure_out = original_poop_figure_out,
positive = original_poop_positive,
fixtated = original_poop_fixtated,
look_away = original_poop_look_away,
focused = original_poop_focused,
negative = original_poop_negative,
disgusting = original_poop_disgusting,
appealing = original_poop_appealing,
eye_catching = original_poop_eye_catching,
attractive = original_poop_attractive,
avoid_looking = original_poop_avoid_looking) |>
cor() |>
round_half_up(2)## like attention_capturing unusual figure_out positive
## like 1.00 0.07 -0.09 0.28 0.50
## attention_capturing 0.07 1.00 0.24 0.16 0.13
## unusual -0.09 0.24 1.00 0.15 -0.13
## figure_out 0.28 0.16 0.15 1.00 0.27
## positive 0.50 0.13 -0.13 0.27 1.00
## fixtated 0.15 0.34 0.20 0.37 0.18
## look_away 0.30 -0.05 -0.09 0.06 0.24
## focused 0.10 0.35 0.16 0.28 0.19
## negative 0.22 -0.06 -0.25 0.03 0.38
## disgusting 0.25 -0.06 -0.16 0.02 0.29
## appealing 0.18 0.00 0.02 0.09 0.16
## eye_catching 0.04 0.60 0.17 0.16 0.13
## attractive 0.20 0.07 -0.02 0.34 0.25
## avoid_looking 0.40 -0.02 -0.09 0.18 0.39
## fixtated look_away focused negative disgusting appealing
## like 0.15 0.30 0.10 0.22 0.25 0.18
## attention_capturing 0.34 -0.05 0.35 -0.06 -0.06 0.00
## unusual 0.20 -0.09 0.16 -0.25 -0.16 0.02
## figure_out 0.37 0.06 0.28 0.03 0.02 0.09
## positive 0.18 0.24 0.19 0.38 0.29 0.16
## fixtated 1.00 0.07 0.54 0.04 0.03 0.03
## look_away 0.07 1.00 0.08 0.35 0.39 0.07
## focused 0.54 0.08 1.00 0.06 0.09 0.03
## negative 0.04 0.35 0.06 1.00 0.72 0.12
## disgusting 0.03 0.39 0.09 0.72 1.00 0.13
## appealing 0.03 0.07 0.03 0.12 0.13 1.00
## eye_catching 0.31 -0.01 0.39 0.07 0.02 0.05
## attractive 0.22 0.12 0.15 0.10 0.11 0.18
## avoid_looking 0.14 0.61 0.18 0.46 0.56 0.19
## eye_catching attractive avoid_looking
## like 0.04 0.20 0.40
## attention_capturing 0.60 0.07 -0.02
## unusual 0.17 -0.02 -0.09
## figure_out 0.16 0.34 0.18
## positive 0.13 0.25 0.39
## fixtated 0.31 0.22 0.14
## look_away -0.01 0.12 0.61
## focused 0.39 0.15 0.18
## negative 0.07 0.10 0.46
## disgusting 0.02 0.11 0.56
## appealing 0.05 0.18 0.19
## eye_catching 1.00 0.10 0.08
## attractive 0.10 1.00 0.21
## avoid_looking 0.08 0.21 1.00
remove negative correlating item - unusual
res <- cfa_constrained(data_exclusions,
items = c(
"original_chocolate_like",
"original_chocolate_attention_capturing",
#"original_chocolate_unusual",
"original_chocolate_figure_out",
"original_chocolate_positive",
"original_chocolate_fixtated",
"original_chocolate_look_away",
"original_chocolate_focused",
"original_chocolate_negative",
"original_chocolate_disgusting",
"original_chocolate_appealing",
"original_chocolate_eye_catching",
"original_chocolate_attractive",
"original_chocolate_avoid_looking"
),
ordered = FALSE)
# global fit
res$fit_indices |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| fit_index | value |
|---|---|
| chisq | 1800.00 |
| df | 77.00 |
| pvalue | 0.00 |
| cfi | 0.51 |
| tli | 0.50 |
| rmsea | 0.21 |
| rmsea.ci.lower | 0.21 |
| rmsea.ci.upper | 0.22 |
| srmr | 0.46 |
# item diagnostics (loadings, R2, max |std residual|, largest MI, and flags)
res$item_diagnostics |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| item | std_loading | R2 | flag_loading | flag_r2 | flag_any |
|---|---|---|---|---|---|
| original_chocolate_like | 0.75 | 0.56 | FALSE | FALSE | FALSE |
| original_chocolate_attention_capturing | 0.60 | 0.36 | FALSE | FALSE | FALSE |
| original_chocolate_figure_out | 0.37 | 0.14 | TRUE | TRUE | TRUE |
| original_chocolate_positive | 0.72 | 0.52 | FALSE | FALSE | FALSE |
| original_chocolate_fixtated | 0.47 | 0.22 | FALSE | FALSE | FALSE |
| original_chocolate_look_away | 0.61 | 0.37 | FALSE | FALSE | FALSE |
| original_chocolate_focused | 0.48 | 0.24 | FALSE | FALSE | FALSE |
| original_chocolate_negative | 0.72 | 0.51 | FALSE | FALSE | FALSE |
| original_chocolate_disgusting | 0.71 | 0.50 | FALSE | FALSE | FALSE |
| original_chocolate_appealing | 0.68 | 0.46 | FALSE | FALSE | FALSE |
| original_chocolate_eye_catching | 0.63 | 0.40 | FALSE | FALSE | FALSE |
| original_chocolate_attractive | 0.69 | 0.47 | FALSE | FALSE | FALSE |
| original_chocolate_avoid_looking | 0.65 | 0.42 | FALSE | FALSE | FALSE |
res <- cfa_constrained(data_exclusions,
items = c("original_poop_like",
"original_poop_attention_capturing",
#"original_poop_unusual",
"original_poop_figure_out",
"original_poop_positive",
"original_poop_fixtated",
"original_poop_look_away",
"original_poop_focused",
"original_poop_negative",
"original_poop_disgusting",
"original_poop_appealing",
"original_poop_eye_catching",
"original_poop_attractive",
"original_poop_avoid_looking"),
ordered = FALSE)
# global fit
res$fit_indices |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| fit_index | value |
|---|---|
| chisq | 1437.29 |
| df | 77.00 |
| pvalue | 0.00 |
| cfi | 0.24 |
| tli | 0.23 |
| rmsea | 0.19 |
| rmsea.ci.lower | 0.18 |
| rmsea.ci.upper | 0.20 |
| srmr | 0.19 |
# item diagnostics (loadings, R2, max |std residual|, largest MI, and flags)
res$item_diagnostics |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| item | std_loading | R2 | flag_loading | flag_r2 | flag_any |
|---|---|---|---|---|---|
| original_poop_like | 0.61 | 0.38 | FALSE | FALSE | FALSE |
| original_poop_attention_capturing | 0.15 | 0.02 | TRUE | TRUE | TRUE |
| original_poop_figure_out | 0.31 | 0.10 | TRUE | TRUE | TRUE |
| original_poop_positive | 0.35 | 0.13 | TRUE | TRUE | TRUE |
| original_poop_fixtated | 0.27 | 0.08 | TRUE | TRUE | TRUE |
| original_poop_look_away | 0.22 | 0.05 | TRUE | TRUE | TRUE |
| original_poop_focused | 0.21 | 0.05 | TRUE | TRUE | TRUE |
| original_poop_negative | 0.18 | 0.03 | TRUE | TRUE | TRUE |
| original_poop_disgusting | 0.21 | 0.04 | TRUE | TRUE | TRUE |
| original_poop_appealing | 0.49 | 0.24 | FALSE | FALSE | FALSE |
| original_poop_eye_catching | 0.17 | 0.03 | TRUE | TRUE | TRUE |
| original_poop_attractive | 0.67 | 0.44 | FALSE | FALSE | FALSE |
| original_poop_avoid_looking | 0.30 | 0.09 | TRUE | TRUE | TRUE |
res <- cfa_constrained(
data_exclusions,
items = c("classic_chocolate_pos_neg",
"classic_chocolate_pleasant_unpleasant",
"classic_chocolate_good_bad"),
ordered = FALSE
)
# global fit
res$fit_indices |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| fit_index | value |
|---|---|
| chisq | 40.09 |
| df | 2.00 |
| pvalue | 0.00 |
| cfi | 0.96 |
| tli | 0.94 |
| rmsea | 0.20 |
| rmsea.ci.lower | 0.15 |
| rmsea.ci.upper | 0.25 |
| srmr | 0.09 |
# item diagnostics (loadings, R2, max |std residual|, largest MI, and flags)
res$item_diagnostics |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| item | std_loading | R2 | flag_loading | flag_r2 | flag_any |
|---|---|---|---|---|---|
| classic_chocolate_pos_neg | 0.89 | 0.79 | FALSE | FALSE | FALSE |
| classic_chocolate_pleasant_unpleasant | 0.89 | 0.79 | FALSE | FALSE | FALSE |
| classic_chocolate_good_bad | 0.76 | 0.58 | FALSE | FALSE | FALSE |
data_exclusions |>
select(pos_neg = classic_chocolate_pos_neg,
pleasant_unpleasant = classic_chocolate_pleasant_unpleasant,
good_bad = classic_chocolate_good_bad) |>
cor() |>
round_half_up(2)## pos_neg pleasant_unpleasant good_bad
## pos_neg 1.00 0.77 0.75
## pleasant_unpleasant 0.77 1.00 0.68
## good_bad 0.75 0.68 1.00
res <- cfa_constrained(
data_exclusions,
items = c("classic_poop_pos_neg",
"classic_poop_pleasant_unpleasant",
"classic_poop_good_bad"),
ordered = FALSE
)
# global fit
res$fit_indices |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| fit_index | value |
|---|---|
| chisq | 84.02 |
| df | 2.00 |
| pvalue | 0.00 |
| cfi | 0.84 |
| tli | 0.76 |
| rmsea | 0.29 |
| rmsea.ci.lower | 0.24 |
| rmsea.ci.upper | 0.34 |
| srmr | 0.11 |
# item diagnostics (loadings, R2, max |std residual|, largest MI, and flags)
res$item_diagnostics |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| item | std_loading | R2 | flag_loading | flag_r2 | flag_any |
|---|---|---|---|---|---|
| classic_poop_pos_neg | 0.71 | 0.50 | FALSE | FALSE | FALSE |
| classic_poop_pleasant_unpleasant | 0.89 | 0.78 | FALSE | FALSE | FALSE |
| classic_poop_good_bad | 0.54 | 0.29 | FALSE | FALSE | FALSE |
data_exclusions |>
select(pos_neg = classic_poop_pos_neg,
pleasant_unpleasant = classic_poop_pleasant_unpleasant,
good_bad = classic_poop_good_bad) |>
cor() |>
round_half_up(2)## pos_neg pleasant_unpleasant good_bad
## pos_neg 1.00 0.66 0.62
## pleasant_unpleasant 0.66 1.00 0.47
## good_bad 0.62 0.47 1.00
# data_exclusions |>
# select(starts_with("original_chocolate_")) |>
# cor() |>
# round(2)
reliability_chocolate_original <- data_exclusions |>
select(starts_with("original_chocolate_")) |>
alpha()
reliability_chocolate_original$total$raw_alpha## [1] 0.8791472
# data_exclusions |>
# select(starts_with("original_poop_")) |>
# cor() |>
# round(2)
reliability_poop_original <- data_exclusions |>
select(starts_with("original_poop_")) |>
alpha()## Some items ( original_poop_unusual ) were negatively correlated with the first principal component and
## probably should be reversed.
## To do this, run the function again with the 'check.keys=TRUE' option
## [1] 0.6840143
data_exclusions |>
select(desirability_chocolate,
classic_chocolate,
original_chocolate) |>
cor() |>
round_half_up(2) ## desirability_chocolate classic_chocolate
## desirability_chocolate 1.00 0.58
## classic_chocolate 0.58 1.00
## original_chocolate 0.49 0.70
## original_chocolate
## desirability_chocolate 0.49
## classic_chocolate 0.70
## original_chocolate 1.00
ggplot(data_exclusions, aes(desirability_chocolate, classic_chocolate)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.3) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7) +
scale_y_continuous(limits = c(0.5, 7.5), breaks = 1:7)ggplot(data_exclusions, aes(desirability_chocolate, original_chocolate)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.3) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7) +
scale_y_continuous(limits = c(0.5, 7.5), breaks = 1:7)data_exclusions |>
select(desirability_poop,
classic_poop,
original_poop) |>
cor() |>
round_half_up(2) ## desirability_poop classic_poop original_poop
## desirability_poop 1.00 0.42 0.33
## classic_poop 0.42 1.00 0.37
## original_poop 0.33 0.37 1.00
ggplot(data_exclusions, aes(desirability_poop, classic_poop)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.3) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7) +
scale_y_continuous(limits = c(0.5, 7.5), breaks = 1:7)ggplot(data_exclusions, aes(desirability_poop, original_poop)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.3) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7) +
scale_y_continuous(limits = c(0.5, 7.5), breaks = 1:7)cohens_d_and_summaries <- function(data, var1, var2, mu = 4){
data |>
rename(var1 = {{var1}},
var2 = {{var2}}) |>
summarize(m1 = mean(var1),
sd1 = sd(var1),
n1 = n(), # assumes complete data
m2 = mean(var2),
sd2 = sd(var2),
n2 = n(), # assumes complete data
r = cor(var1, var2),
d_s_onesample1 = cohens_d(var1, mu = mu)$Cohens_d,
d_s_onesample2 = cohens_d(var2, mu = mu)$Cohens_d,
d_av = repeated_measures_d(x = var1,
y = var2,
method = "av"),
d_rm = repeated_measures_d(x = var1,
y = var2,
method = "rm"),
d_z = repeated_measures_d(x = var1,
y = var2,
method = "z"),
d_s = cohens_d(x = var1,
y = var2)) |>
unnest(d_av) |>
select(-CI) |>
rename(d_av__estimate = d_av,
d_av__ci_lower = CI_low,
d_av__ci_upper = CI_high) |>
unnest(d_rm) |>
select(-CI) |>
rename(d_rm__estimate = d_rm,
d_rm__ci_lower = CI_low,
d_rm__ci_upper = CI_high) |>
unnest(d_z) |>
select(-CI) |>
rename(d_z__estimate = d_z,
d_z__ci_lower = CI_low,
d_z__ci_upper = CI_high) |>
unnest(d_s) |>
select(-CI) |>
rename(d_s__estimate = Cohens_d,
d_s__ci_lower = CI_low,
d_s__ci_upper = CI_high) |>
mutate(var1 = rlang::as_name(ensym(var1)),
var2 = rlang::as_name(ensym(var2))) |>
relocate(var2) |>
relocate(var1)
}
res <- bind_rows(
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate, var2 = original_poop),
cohens_d_and_summaries(data = data_exclusions, var1 = classic_chocolate, var2 = classic_poop),
cohens_d_and_summaries(data = data_exclusions, var1 = classic_chocolate_pos_neg, var2 = classic_poop_pos_neg),
cohens_d_and_summaries(data = data_exclusions, var1 = classic_chocolate_pleasant_unpleasant, var2 = classic_poop_pleasant_unpleasant),
cohens_d_and_summaries(data = data_exclusions, var1 = classic_chocolate_good_bad, var2 = classic_poop_good_bad),
cohens_d_and_summaries(data = data_exclusions, var1 = desirability_chocolate, var2 = desirability_poop),
cohens_d_and_summaries(data = data_exclusions, var1 = love, var2 = murder),
cohens_d_and_summaries(data = data_exclusions, var1 = honest, var2 = dishonest),
cohens_d_and_summaries(data = data_exclusions, var1 = vacation, var2 = racist),
cohens_d_and_summaries(data = data_exclusions, var1 = liberals, var2 = conservatives),
cohens_d_and_summaries(data = data_exclusions, var1 = mcdonalds, var2 = burgerking),
cohens_d_and_summaries(data = data_exclusions, var1 = girls_skirts, var2 = boys_skirts),
cohens_d_and_summaries(data = data_exclusions, var1 = cats_legs, var2 = fish_legs),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_like, var2 = original_poop_like),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_attention_capturing, var2 = original_poop_attention_capturing),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_unusual, var2 = original_poop_unusual),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_figure_out, var2 = original_poop_figure_out),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_positive, var2 = original_poop_positive),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_fixtated, var2 = original_poop_fixtated),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_look_away, var2 = original_poop_look_away),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_focused, var2 = original_poop_focused),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_negative, var2 = original_poop_negative),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_disgusting, var2 = original_poop_disgusting),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_appealing, var2 = original_poop_appealing),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_eye_catching, var2 = original_poop_eye_catching),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_attractive, var2 = original_poop_attractive),
cohens_d_and_summaries(data = data_exclusions, var1 = original_chocolate_avoid_looking, var2 = original_poop_avoid_looking),
)
res |>
mutate_if(is.numeric, round_half_up, digits = 2)## # A tibble: 27 × 23
## var1 var2 m1 sd1 n1 m2 sd2 n2 r d_s_onesample1
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 original_choc… orig… 5.52 0.76 489 1.99 0.65 489 -0.21 1.99
## 2 classic_choco… clas… 6.44 0.77 489 1.76 0.9 489 -0.23 3.18
## 3 classic_choco… clas… 6.41 0.82 489 1.67 1.06 489 -0.2 2.95
## 4 classic_choco… clas… 6.6 0.73 489 1.34 0.75 489 -0.23 3.54
## 5 classic_choco… clas… 6.32 0.99 489 2.27 1.36 489 -0.23 2.35
## 6 desirability_… desi… 6.4 1.01 489 1.19 0.63 489 -0.04 2.37
## 7 love murd… 6.74 0.54 489 1.1 0.42 489 -0.09 5.07
## 8 honest dish… 6.54 0.72 489 1.51 0.74 489 -0.5 3.55
## 9 vacation raci… 6.53 0.77 489 1.25 0.68 489 -0.13 3.29
## 10 liberals cons… 4.1 1.57 489 3.01 1.65 489 -0.25 0.07
## # ℹ 17 more rows
## # ℹ 13 more variables: d_s_onesample2 <dbl>, d_av__estimate <dbl>,
## # d_av__ci_lower <dbl>, d_av__ci_upper <dbl>, d_rm__estimate <dbl>,
## # d_rm__ci_lower <dbl>, d_rm__ci_upper <dbl>, d_z__estimate <dbl>,
## # d_z__ci_lower <dbl>, d_z__ci_upper <dbl>, d_s__estimate <dbl>,
## # d_s__ci_lower <dbl>, d_s__ci_upper <dbl>
res_long <- res |>
select(var1, var2, starts_with("d_") & !contains("sample")) |>
pivot_longer(cols = starts_with("d_"),
names_to = c("type", "parameter"),
names_sep = "__",
values_to = "value") |>
pivot_wider(names_from = parameter,
values_from = value) |>
mutate(comparison = paste(var1, var2)) |>
mutate(comparison = case_when(comparison == "original_chocolate original_poop" ~ "chocolate-poop original",
comparison == "classic_chocolate classic_poop" ~ "chocolate-poop classic",
comparison == "classic_chocolate_pos_neg classic_poop_pos_neg" ~ "chocolate-poop pos-neg",
comparison == "classic_chocolate_pleasant_unpleasant classic_poop_pleasant_unpleasant" ~ "chocolate-poop pleasant-unpleasant",
comparison == "classic_chocolate_good_bad classic_poop_good_bad" ~ "chocolate-poop good-bad",
comparison == "desirability_chocolate desirability_poop" ~ "chocolate-poop desirability",
comparison == "cats_legs fish_legs" ~ "cats/fish have four legs",
comparison == "girls_skirts boys_skirts" ~ "girls/boys tend to wear skirts",
TRUE ~ comparison)) |>
mutate(comparison = fct_reorder(comparison, estimate))
res_long## # A tibble: 108 × 7
## var1 var2 type estimate ci_lower ci_upper comparison
## <chr> <chr> <chr> <dbl> <dbl> <dbl> <fct>
## 1 original_chocolate origin… d_av 4.97 4.83 5.11 chocolate…
## 2 original_chocolate origin… d_rm 4.98 4.47 5.48 chocolate…
## 3 original_chocolate origin… d_z 3.20 2.98 3.42 chocolate…
## 4 original_chocolate origin… d_s 4.98 4.72 5.23 chocolate…
## 5 classic_chocolate classi… d_av 5.57 5.43 5.71 chocolate…
## 6 classic_chocolate classi… d_rm 5.58 5.01 6.15 chocolate…
## 7 classic_chocolate classi… d_z 3.56 3.32 3.80 chocolate…
## 8 classic_chocolate classi… d_s 5.58 5.30 5.86 chocolate…
## 9 classic_chocolate_pos_neg classi… d_av 5.00 4.86 5.14 chocolate…
## 10 classic_chocolate_pos_neg classi… d_rm 5.01 4.51 5.52 chocolate…
## # ℹ 98 more rows
ggplot(res_long, aes(estimate, comparison, color = type)) +
geom_linerangeh(aes(xmin = ci_lower, xmax = ci_upper),
position = position_dodge(width = 0.8)) +
geom_point(position = position_dodge(width = 0.8)) +
scale_x_continuous(name = "Cohen's d", breaks = breaks_pretty(n = 6)) +
ylab("") +
theme_linedraw() +
guides(color = guide_legend(reverse = TRUE)) res_long_subset <- res_long |>
filter(comparison %in% c("love murder",
"honest dishonest",
"chocolate-poop original",
"chocolate-poop classic",
"chocolate-poop pos-neg",
"chocolate-poop pleasant-unpleasant",
"chocolate-poop good-bad",
"cats/fish have four legs",
"girls/boys tend to wear skirts",
"chocolate-poop desirability")) |>
filter(type == "d_av")
res_long_subset |>
mutate_if(is.numeric, round_half_up, digits = 2)## # A tibble: 10 × 7
## var1 var2 type estimate ci_lower ci_upper comparison
## <chr> <chr> <chr> <dbl> <dbl> <dbl> <fct>
## 1 original_chocolate orig… d_av 4.97 4.83 5.11 chocolate…
## 2 classic_chocolate clas… d_av 5.57 5.43 5.71 chocolate…
## 3 classic_chocolate_pos_neg clas… d_av 5 4.86 5.14 chocolate…
## 4 classic_chocolate_pleasant… clas… d_av 7.07 6.93 7.21 chocolate…
## 5 classic_chocolate_good_bad clas… d_av 3.4 3.26 3.54 chocolate…
## 6 desirability_chocolate desi… d_av 6.15 6.02 6.28 chocolate…
## 7 love murd… d_av 11.6 11.5 11.8 love murd…
## 8 honest dish… d_av 6.92 6.77 7.08 honest di…
## 9 girls_skirts boys… d_av 2.64 2.51 2.78 girls/boy…
## 10 cats_legs fish… d_av 11.6 11.4 11.7 cats/fish…
res_long_subset |>
ggplot(aes(estimate, comparison)) +
geom_linerangeh(aes(xmin = ci_lower, xmax = ci_upper)) +
geom_point() +
scale_x_continuous(name = "Cohen's d", breaks = breaks_pretty(n = 6)) +
ylab("") +
theme_linedraw() res_long_subset_chocpoop <- res_long |>
filter(comparison %in% c("chocolate-poop original",
"chocolate-poop classic",
"chocolate-poop pos-neg",
"chocolate-poop pleasant-unpleasant",
"chocolate-poop good-bad",
"chocolate-poop desirability"))
ggplot(res_long_subset_chocpoop, aes(estimate, comparison, color = type)) +
geom_linerangeh(aes(xmin = ci_lower, xmax = ci_upper), position = position_dodge(width = 0.7)) +
geom_point(position = position_dodge(width = 0.7)) +
scale_x_continuous(name = "Cohen's d", breaks = breaks_pretty(n = 6)) +
ylab("Outcome") +
theme_linedraw() +
guides(color = guide_legend(reverse = TRUE)) res_long_subset_chocpoop2 <- res_long |>
filter(comparison %in% c(
"chocolate-poop original",
"chocolate-poop classic",
"chocolate-poop pos-neg",
"chocolate-poop pleasant-unpleasant",
"chocolate-poop good-bad",
"chocolate-poop desirability",
"original_chocolate_like original_poop_like",
#"original_chocolate_attention_capturing original_poop_attention_capturing",
#"original_chocolate_unusual original_poop_unusual",
#"original_chocolate_figure_out original_poop_figure_out",
"original_chocolate_positive original_poop_positive",
#"original_chocolate_fixtated original_poop_fixtated",
"original_chocolate_look_away original_poop_look_away",
#"original_chocolate_focused original_poop_focused",
"original_chocolate_negative original_poop_negative",
"original_chocolate_disgusting original_poop_disgusting",
#"original_chocolate_appealing original_poop_appealing",
#"original_chocolate_eye_catching original_poop_eye_catching",
#"original_chocolate_attractive original_poop_attractive",
"original_chocolate_avoid_looking original_poop_avoid_looking"
)) |>
filter(type == "d_av")
ggplot(res_long_subset_chocpoop2, aes(estimate, comparison)) +
geom_linerangeh(aes(xmin = ci_lower, xmax = ci_upper), position = position_dodge(width = 0.7)) +
geom_point(position = position_dodge(width = 0.7)) +
scale_x_continuous(name = "Cohen's d", breaks = breaks_pretty(n = 6)) +
ylab("Outcome") +
theme_linedraw() +
guides(color = guide_legend(reverse = TRUE)) Researchers’ predictions about the Cohen’s d_av between the single item desirability items.
| person | predicted_d |
|---|---|
| Robert Miller | 3.000000 |
| Laura | 3.400000 |
| Matt WIlliams | 3.600000 |
| Julian | 3.900000 |
| Brendan Schuetze | 4.000000 |
| Karsten Konrad | 4.000000 |
| Annika | 4.200000 |
| Malte | 4.500000 |
| Sanjay | 4.520000 |
| Beth | 4.600000 |
| Lukas | 4.700000 |
| Ruben | 4.870000 |
| Martin Plöderl | 4.913785 |
| Alex | 5.000000 |
| Jamie | 5.200000 |
| ian | 5.500000 |
| Sandra | 5.800000 |
| Sab | 6.000000 |
| Hilmar | 6.000000 |
| Aaron | 6.200000 |
| Eiko | 8.000000 |
## # A tibble: 1 × 1
## n
## <int>
## 1 21
ggplot(data_predictions, aes(predicted_d)) +
geom_histogram(boundary = 0.5, binwidth = 1) +
scale_x_continuous(breaks = 1:9, name = "Predicted Cohen's d_av") +
ylab("Frequency") +
geom_vline(xintercept = res$d_rm, linetype = "dashed", color = "red") +
theme_linedraw()library(mirt)
library(psych)
data_irt_choc <- data_exclusions %>%
select(contains("chocolate"), -classic_chocolate, -original_chocolate)
mod_1f <- mirt(data_irt_choc, 1, itemtype = "graded", SE = TRUE, verbose = FALSE)
summary(mod_1f) # includes item parameters on logit scale and factor variance## F1 h2
## desirability_chocolate 0.8406 0.70665
## classic_chocolate_pos_neg 0.8926 0.79672
## classic_chocolate_pleasant_unpleasant 0.8981 0.80665
## classic_chocolate_good_bad 0.8494 0.72141
## original_chocolate_like 0.9088 0.82591
## original_chocolate_attention_capturing 0.7975 0.63606
## original_chocolate_unusual -0.0757 0.00573
## original_chocolate_figure_out 0.5591 0.31260
## original_chocolate_positive 0.8992 0.80862
## original_chocolate_fixtated 0.7685 0.59055
## original_chocolate_look_away 0.6443 0.41513
## original_chocolate_focused 0.7554 0.57064
## original_chocolate_negative 0.6966 0.48521
## original_chocolate_disgusting 0.6346 0.40268
## original_chocolate_appealing 0.8903 0.79258
## original_chocolate_eye_catching 0.8262 0.68255
## original_chocolate_attractive 0.8518 0.72561
## original_chocolate_avoid_looking 0.6961 0.48453
##
## SE.F1
## desirability_chocolate 0.022
## classic_chocolate_pos_neg 0.016
## classic_chocolate_pleasant_unpleasant 0.017
## classic_chocolate_good_bad 0.020
## original_chocolate_like 0.014
## original_chocolate_attention_capturing 0.022
## original_chocolate_unusual 0.054
## original_chocolate_figure_out 0.036
## original_chocolate_positive 0.013
## original_chocolate_fixtated 0.023
## original_chocolate_look_away 0.043
## original_chocolate_focused 0.024
## original_chocolate_negative 0.042
## original_chocolate_disgusting 0.065
## original_chocolate_appealing 0.015
## original_chocolate_eye_catching 0.020
## original_chocolate_attractive 0.018
## original_chocolate_avoid_looking 0.043
##
## SS loadings: 10.77
## Proportion Var: 0.598
##
## Factor correlations:
##
## F1
## F1 1
# irt_coefs <- coef(mod_1f, IRTpars = TRUE, simplify = TRUE)
# irt_coefs
#
# fs <- fscores(mod_1f, method = "EAP", full.scores.SE = TRUE)
# head(fs)
# # fs is matrix with theta and SEs in columns named "F1" and "SE.F1"
# theta <- fs[, "F1"]
# theta_se <- fs[, "SE.F1"]
# --- Plots
# Trace lines (category response curves) for all items
plot(mod_1f, type = "trace", facet_items = TRUE)## Q3 summary statistics:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.321 -0.129 -0.069 -0.035 0.051 0.433
##
## desirability_chocolate
## desirability_chocolate 1.000
## classic_chocolate_pos_neg 0.036
## classic_chocolate_pleasant_unpleasant 0.121
## classic_chocolate_good_bad 0.037
## original_chocolate_like 0.023
## original_chocolate_attention_capturing -0.170
## original_chocolate_unusual 0.051
## original_chocolate_figure_out -0.183
## original_chocolate_positive -0.107
## original_chocolate_fixtated -0.069
## original_chocolate_look_away -0.103
## original_chocolate_focused -0.124
## original_chocolate_negative -0.110
## original_chocolate_disgusting -0.065
## original_chocolate_appealing 0.103
## original_chocolate_eye_catching -0.154
## original_chocolate_attractive -0.134
## original_chocolate_avoid_looking -0.064
## classic_chocolate_pos_neg
## desirability_chocolate 0.036
## classic_chocolate_pos_neg 1.000
## classic_chocolate_pleasant_unpleasant 0.350
## classic_chocolate_good_bad 0.368
## original_chocolate_like -0.132
## original_chocolate_attention_capturing -0.237
## original_chocolate_unusual -0.009
## original_chocolate_figure_out -0.092
## original_chocolate_positive -0.072
## original_chocolate_fixtated -0.183
## original_chocolate_look_away -0.089
## original_chocolate_focused -0.111
## original_chocolate_negative 0.069
## original_chocolate_disgusting -0.165
## original_chocolate_appealing -0.265
## original_chocolate_eye_catching -0.230
## original_chocolate_attractive -0.299
## original_chocolate_avoid_looking -0.076
## classic_chocolate_pleasant_unpleasant
## desirability_chocolate 0.121
## classic_chocolate_pos_neg 0.350
## classic_chocolate_pleasant_unpleasant 1.000
## classic_chocolate_good_bad 0.205
## original_chocolate_like -0.059
## original_chocolate_attention_capturing -0.243
## original_chocolate_unusual 0.065
## original_chocolate_figure_out -0.109
## original_chocolate_positive -0.170
## original_chocolate_fixtated -0.212
## original_chocolate_look_away -0.006
## original_chocolate_focused -0.189
## original_chocolate_negative 0.020
## original_chocolate_disgusting -0.042
## original_chocolate_appealing -0.129
## original_chocolate_eye_catching -0.287
## original_chocolate_attractive -0.321
## original_chocolate_avoid_looking -0.025
## classic_chocolate_good_bad
## desirability_chocolate 0.037
## classic_chocolate_pos_neg 0.368
## classic_chocolate_pleasant_unpleasant 0.205
## classic_chocolate_good_bad 1.000
## original_chocolate_like -0.112
## original_chocolate_attention_capturing -0.320
## original_chocolate_unusual -0.004
## original_chocolate_figure_out -0.137
## original_chocolate_positive 0.026
## original_chocolate_fixtated -0.190
## original_chocolate_look_away -0.060
## original_chocolate_focused -0.096
## original_chocolate_negative 0.236
## original_chocolate_disgusting -0.098
## original_chocolate_appealing -0.195
## original_chocolate_eye_catching -0.301
## original_chocolate_attractive -0.264
## original_chocolate_avoid_looking -0.038
## original_chocolate_like
## desirability_chocolate 0.023
## classic_chocolate_pos_neg -0.132
## classic_chocolate_pleasant_unpleasant -0.059
## classic_chocolate_good_bad -0.112
## original_chocolate_like 1.000
## original_chocolate_attention_capturing -0.129
## original_chocolate_unusual -0.070
## original_chocolate_figure_out -0.161
## original_chocolate_positive -0.069
## original_chocolate_fixtated -0.187
## original_chocolate_look_away -0.010
## original_chocolate_focused -0.211
## original_chocolate_negative 0.016
## original_chocolate_disgusting 0.073
## original_chocolate_appealing 0.081
## original_chocolate_eye_catching -0.256
## original_chocolate_attractive -0.256
## original_chocolate_avoid_looking -0.045
## original_chocolate_attention_capturing
## desirability_chocolate -0.170
## classic_chocolate_pos_neg -0.237
## classic_chocolate_pleasant_unpleasant -0.243
## classic_chocolate_good_bad -0.320
## original_chocolate_like -0.129
## original_chocolate_attention_capturing 1.000
## original_chocolate_unusual 0.085
## original_chocolate_figure_out 0.159
## original_chocolate_positive -0.122
## original_chocolate_fixtated 0.119
## original_chocolate_look_away -0.064
## original_chocolate_focused 0.055
## original_chocolate_negative -0.121
## original_chocolate_disgusting -0.075
## original_chocolate_appealing -0.113
## original_chocolate_eye_catching 0.355
## original_chocolate_attractive 0.045
## original_chocolate_avoid_looking -0.110
## original_chocolate_unusual
## desirability_chocolate 0.051
## classic_chocolate_pos_neg -0.009
## classic_chocolate_pleasant_unpleasant 0.065
## classic_chocolate_good_bad -0.004
## original_chocolate_like -0.070
## original_chocolate_attention_capturing 0.085
## original_chocolate_unusual 1.000
## original_chocolate_figure_out 0.211
## original_chocolate_positive -0.057
## original_chocolate_fixtated 0.264
## original_chocolate_look_away -0.167
## original_chocolate_focused 0.163
## original_chocolate_negative -0.133
## original_chocolate_disgusting -0.128
## original_chocolate_appealing -0.041
## original_chocolate_eye_catching 0.051
## original_chocolate_attractive -0.043
## original_chocolate_avoid_looking -0.123
## original_chocolate_figure_out
## desirability_chocolate -0.183
## classic_chocolate_pos_neg -0.092
## classic_chocolate_pleasant_unpleasant -0.109
## classic_chocolate_good_bad -0.137
## original_chocolate_like -0.161
## original_chocolate_attention_capturing 0.159
## original_chocolate_unusual 0.211
## original_chocolate_figure_out 1.000
## original_chocolate_positive 0.021
## original_chocolate_fixtated 0.292
## original_chocolate_look_away -0.119
## original_chocolate_focused 0.256
## original_chocolate_negative -0.106
## original_chocolate_disgusting -0.096
## original_chocolate_appealing -0.069
## original_chocolate_eye_catching 0.121
## original_chocolate_attractive -0.001
## original_chocolate_avoid_looking -0.086
## original_chocolate_positive
## desirability_chocolate -0.107
## classic_chocolate_pos_neg -0.072
## classic_chocolate_pleasant_unpleasant -0.170
## classic_chocolate_good_bad 0.026
## original_chocolate_like -0.069
## original_chocolate_attention_capturing -0.122
## original_chocolate_unusual -0.057
## original_chocolate_figure_out 0.021
## original_chocolate_positive 1.000
## original_chocolate_fixtated -0.050
## original_chocolate_look_away -0.049
## original_chocolate_focused -0.058
## original_chocolate_negative 0.142
## original_chocolate_disgusting -0.009
## original_chocolate_appealing -0.093
## original_chocolate_eye_catching -0.224
## original_chocolate_attractive -0.073
## original_chocolate_avoid_looking -0.056
## original_chocolate_fixtated
## desirability_chocolate -0.069
## classic_chocolate_pos_neg -0.183
## classic_chocolate_pleasant_unpleasant -0.212
## classic_chocolate_good_bad -0.190
## original_chocolate_like -0.187
## original_chocolate_attention_capturing 0.119
## original_chocolate_unusual 0.264
## original_chocolate_figure_out 0.292
## original_chocolate_positive -0.050
## original_chocolate_fixtated 1.000
## original_chocolate_look_away -0.141
## original_chocolate_focused 0.433
## original_chocolate_negative -0.212
## original_chocolate_disgusting -0.115
## original_chocolate_appealing -0.119
## original_chocolate_eye_catching 0.131
## original_chocolate_attractive 0.007
## original_chocolate_avoid_looking -0.138
## original_chocolate_look_away
## desirability_chocolate -0.103
## classic_chocolate_pos_neg -0.089
## classic_chocolate_pleasant_unpleasant -0.006
## classic_chocolate_good_bad -0.060
## original_chocolate_like -0.010
## original_chocolate_attention_capturing -0.064
## original_chocolate_unusual -0.167
## original_chocolate_figure_out -0.119
## original_chocolate_positive -0.049
## original_chocolate_fixtated -0.141
## original_chocolate_look_away 1.000
## original_chocolate_focused -0.099
## original_chocolate_negative 0.174
## original_chocolate_disgusting 0.125
## original_chocolate_appealing -0.012
## original_chocolate_eye_catching -0.078
## original_chocolate_attractive 0.074
## original_chocolate_avoid_looking 0.363
## original_chocolate_focused
## desirability_chocolate -0.124
## classic_chocolate_pos_neg -0.111
## classic_chocolate_pleasant_unpleasant -0.189
## classic_chocolate_good_bad -0.096
## original_chocolate_like -0.211
## original_chocolate_attention_capturing 0.055
## original_chocolate_unusual 0.163
## original_chocolate_figure_out 0.256
## original_chocolate_positive -0.058
## original_chocolate_fixtated 0.433
## original_chocolate_look_away -0.099
## original_chocolate_focused 1.000
## original_chocolate_negative -0.107
## original_chocolate_disgusting -0.055
## original_chocolate_appealing -0.162
## original_chocolate_eye_catching 0.057
## original_chocolate_attractive 0.019
## original_chocolate_avoid_looking -0.118
## original_chocolate_negative
## desirability_chocolate -0.110
## classic_chocolate_pos_neg 0.069
## classic_chocolate_pleasant_unpleasant 0.020
## classic_chocolate_good_bad 0.236
## original_chocolate_like 0.016
## original_chocolate_attention_capturing -0.121
## original_chocolate_unusual -0.133
## original_chocolate_figure_out -0.106
## original_chocolate_positive 0.142
## original_chocolate_fixtated -0.212
## original_chocolate_look_away 0.174
## original_chocolate_focused -0.107
## original_chocolate_negative 1.000
## original_chocolate_disgusting 0.309
## original_chocolate_appealing -0.160
## original_chocolate_eye_catching -0.235
## original_chocolate_attractive -0.171
## original_chocolate_avoid_looking 0.269
## original_chocolate_disgusting
## desirability_chocolate -0.065
## classic_chocolate_pos_neg -0.165
## classic_chocolate_pleasant_unpleasant -0.042
## classic_chocolate_good_bad -0.098
## original_chocolate_like 0.073
## original_chocolate_attention_capturing -0.075
## original_chocolate_unusual -0.128
## original_chocolate_figure_out -0.096
## original_chocolate_positive -0.009
## original_chocolate_fixtated -0.115
## original_chocolate_look_away 0.125
## original_chocolate_focused -0.055
## original_chocolate_negative 0.309
## original_chocolate_disgusting 1.000
## original_chocolate_appealing 0.111
## original_chocolate_eye_catching -0.109
## original_chocolate_attractive 0.016
## original_chocolate_avoid_looking 0.195
## original_chocolate_appealing
## desirability_chocolate 0.103
## classic_chocolate_pos_neg -0.265
## classic_chocolate_pleasant_unpleasant -0.129
## classic_chocolate_good_bad -0.195
## original_chocolate_like 0.081
## original_chocolate_attention_capturing -0.113
## original_chocolate_unusual -0.041
## original_chocolate_figure_out -0.069
## original_chocolate_positive -0.093
## original_chocolate_fixtated -0.119
## original_chocolate_look_away -0.012
## original_chocolate_focused -0.162
## original_chocolate_negative -0.160
## original_chocolate_disgusting 0.111
## original_chocolate_appealing 1.000
## original_chocolate_eye_catching 0.065
## original_chocolate_attractive 0.221
## original_chocolate_avoid_looking 0.038
## original_chocolate_eye_catching
## desirability_chocolate -0.154
## classic_chocolate_pos_neg -0.230
## classic_chocolate_pleasant_unpleasant -0.287
## classic_chocolate_good_bad -0.301
## original_chocolate_like -0.256
## original_chocolate_attention_capturing 0.355
## original_chocolate_unusual 0.051
## original_chocolate_figure_out 0.121
## original_chocolate_positive -0.224
## original_chocolate_fixtated 0.131
## original_chocolate_look_away -0.078
## original_chocolate_focused 0.057
## original_chocolate_negative -0.235
## original_chocolate_disgusting -0.109
## original_chocolate_appealing 0.065
## original_chocolate_eye_catching 1.000
## original_chocolate_attractive 0.421
## original_chocolate_avoid_looking -0.062
## original_chocolate_attractive
## desirability_chocolate -0.134
## classic_chocolate_pos_neg -0.299
## classic_chocolate_pleasant_unpleasant -0.321
## classic_chocolate_good_bad -0.264
## original_chocolate_like -0.256
## original_chocolate_attention_capturing 0.045
## original_chocolate_unusual -0.043
## original_chocolate_figure_out -0.001
## original_chocolate_positive -0.073
## original_chocolate_fixtated 0.007
## original_chocolate_look_away 0.074
## original_chocolate_focused 0.019
## original_chocolate_negative -0.171
## original_chocolate_disgusting 0.016
## original_chocolate_appealing 0.221
## original_chocolate_eye_catching 0.421
## original_chocolate_attractive 1.000
## original_chocolate_avoid_looking 0.058
## original_chocolate_avoid_looking
## desirability_chocolate -0.064
## classic_chocolate_pos_neg -0.076
## classic_chocolate_pleasant_unpleasant -0.025
## classic_chocolate_good_bad -0.038
## original_chocolate_like -0.045
## original_chocolate_attention_capturing -0.110
## original_chocolate_unusual -0.123
## original_chocolate_figure_out -0.086
## original_chocolate_positive -0.056
## original_chocolate_fixtated -0.138
## original_chocolate_look_away 0.363
## original_chocolate_focused -0.118
## original_chocolate_negative 0.269
## original_chocolate_disgusting 0.195
## original_chocolate_appealing 0.038
## original_chocolate_eye_catching -0.062
## original_chocolate_attractive 0.058
## original_chocolate_avoid_looking 1.000
## desirability_chocolate
## desirability_chocolate 1.000
## classic_chocolate_pos_neg 0.036
## classic_chocolate_pleasant_unpleasant 0.121
## classic_chocolate_good_bad 0.037
## original_chocolate_like 0.023
## original_chocolate_attention_capturing -0.170
## original_chocolate_unusual 0.051
## original_chocolate_figure_out -0.183
## original_chocolate_positive -0.107
## original_chocolate_fixtated -0.069
## original_chocolate_look_away -0.103
## original_chocolate_focused -0.124
## original_chocolate_negative -0.110
## original_chocolate_disgusting -0.065
## original_chocolate_appealing 0.103
## original_chocolate_eye_catching -0.154
## original_chocolate_attractive -0.134
## original_chocolate_avoid_looking -0.064
## classic_chocolate_pos_neg
## desirability_chocolate 0.036
## classic_chocolate_pos_neg 1.000
## classic_chocolate_pleasant_unpleasant 0.350
## classic_chocolate_good_bad 0.368
## original_chocolate_like -0.132
## original_chocolate_attention_capturing -0.237
## original_chocolate_unusual -0.009
## original_chocolate_figure_out -0.092
## original_chocolate_positive -0.072
## original_chocolate_fixtated -0.183
## original_chocolate_look_away -0.089
## original_chocolate_focused -0.111
## original_chocolate_negative 0.069
## original_chocolate_disgusting -0.165
## original_chocolate_appealing -0.265
## original_chocolate_eye_catching -0.230
## original_chocolate_attractive -0.299
## original_chocolate_avoid_looking -0.076
## classic_chocolate_pleasant_unpleasant
## desirability_chocolate 0.121
## classic_chocolate_pos_neg 0.350
## classic_chocolate_pleasant_unpleasant 1.000
## classic_chocolate_good_bad 0.205
## original_chocolate_like -0.059
## original_chocolate_attention_capturing -0.243
## original_chocolate_unusual 0.065
## original_chocolate_figure_out -0.109
## original_chocolate_positive -0.170
## original_chocolate_fixtated -0.212
## original_chocolate_look_away -0.006
## original_chocolate_focused -0.189
## original_chocolate_negative 0.020
## original_chocolate_disgusting -0.042
## original_chocolate_appealing -0.129
## original_chocolate_eye_catching -0.287
## original_chocolate_attractive -0.321
## original_chocolate_avoid_looking -0.025
## classic_chocolate_good_bad
## desirability_chocolate 0.037
## classic_chocolate_pos_neg 0.368
## classic_chocolate_pleasant_unpleasant 0.205
## classic_chocolate_good_bad 1.000
## original_chocolate_like -0.112
## original_chocolate_attention_capturing -0.320
## original_chocolate_unusual -0.004
## original_chocolate_figure_out -0.137
## original_chocolate_positive 0.026
## original_chocolate_fixtated -0.190
## original_chocolate_look_away -0.060
## original_chocolate_focused -0.096
## original_chocolate_negative 0.236
## original_chocolate_disgusting -0.098
## original_chocolate_appealing -0.195
## original_chocolate_eye_catching -0.301
## original_chocolate_attractive -0.264
## original_chocolate_avoid_looking -0.038
## original_chocolate_like
## desirability_chocolate 0.023
## classic_chocolate_pos_neg -0.132
## classic_chocolate_pleasant_unpleasant -0.059
## classic_chocolate_good_bad -0.112
## original_chocolate_like 1.000
## original_chocolate_attention_capturing -0.129
## original_chocolate_unusual -0.070
## original_chocolate_figure_out -0.161
## original_chocolate_positive -0.069
## original_chocolate_fixtated -0.187
## original_chocolate_look_away -0.010
## original_chocolate_focused -0.211
## original_chocolate_negative 0.016
## original_chocolate_disgusting 0.073
## original_chocolate_appealing 0.081
## original_chocolate_eye_catching -0.256
## original_chocolate_attractive -0.256
## original_chocolate_avoid_looking -0.045
## original_chocolate_attention_capturing
## desirability_chocolate -0.170
## classic_chocolate_pos_neg -0.237
## classic_chocolate_pleasant_unpleasant -0.243
## classic_chocolate_good_bad -0.320
## original_chocolate_like -0.129
## original_chocolate_attention_capturing 1.000
## original_chocolate_unusual 0.085
## original_chocolate_figure_out 0.159
## original_chocolate_positive -0.122
## original_chocolate_fixtated 0.119
## original_chocolate_look_away -0.064
## original_chocolate_focused 0.055
## original_chocolate_negative -0.121
## original_chocolate_disgusting -0.075
## original_chocolate_appealing -0.113
## original_chocolate_eye_catching 0.355
## original_chocolate_attractive 0.045
## original_chocolate_avoid_looking -0.110
## original_chocolate_unusual
## desirability_chocolate 0.051
## classic_chocolate_pos_neg -0.009
## classic_chocolate_pleasant_unpleasant 0.065
## classic_chocolate_good_bad -0.004
## original_chocolate_like -0.070
## original_chocolate_attention_capturing 0.085
## original_chocolate_unusual 1.000
## original_chocolate_figure_out 0.211
## original_chocolate_positive -0.057
## original_chocolate_fixtated 0.264
## original_chocolate_look_away -0.167
## original_chocolate_focused 0.163
## original_chocolate_negative -0.133
## original_chocolate_disgusting -0.128
## original_chocolate_appealing -0.041
## original_chocolate_eye_catching 0.051
## original_chocolate_attractive -0.043
## original_chocolate_avoid_looking -0.123
## original_chocolate_figure_out
## desirability_chocolate -0.183
## classic_chocolate_pos_neg -0.092
## classic_chocolate_pleasant_unpleasant -0.109
## classic_chocolate_good_bad -0.137
## original_chocolate_like -0.161
## original_chocolate_attention_capturing 0.159
## original_chocolate_unusual 0.211
## original_chocolate_figure_out 1.000
## original_chocolate_positive 0.021
## original_chocolate_fixtated 0.292
## original_chocolate_look_away -0.119
## original_chocolate_focused 0.256
## original_chocolate_negative -0.106
## original_chocolate_disgusting -0.096
## original_chocolate_appealing -0.069
## original_chocolate_eye_catching 0.121
## original_chocolate_attractive -0.001
## original_chocolate_avoid_looking -0.086
## original_chocolate_positive
## desirability_chocolate -0.107
## classic_chocolate_pos_neg -0.072
## classic_chocolate_pleasant_unpleasant -0.170
## classic_chocolate_good_bad 0.026
## original_chocolate_like -0.069
## original_chocolate_attention_capturing -0.122
## original_chocolate_unusual -0.057
## original_chocolate_figure_out 0.021
## original_chocolate_positive 1.000
## original_chocolate_fixtated -0.050
## original_chocolate_look_away -0.049
## original_chocolate_focused -0.058
## original_chocolate_negative 0.142
## original_chocolate_disgusting -0.009
## original_chocolate_appealing -0.093
## original_chocolate_eye_catching -0.224
## original_chocolate_attractive -0.073
## original_chocolate_avoid_looking -0.056
## original_chocolate_fixtated
## desirability_chocolate -0.069
## classic_chocolate_pos_neg -0.183
## classic_chocolate_pleasant_unpleasant -0.212
## classic_chocolate_good_bad -0.190
## original_chocolate_like -0.187
## original_chocolate_attention_capturing 0.119
## original_chocolate_unusual 0.264
## original_chocolate_figure_out 0.292
## original_chocolate_positive -0.050
## original_chocolate_fixtated 1.000
## original_chocolate_look_away -0.141
## original_chocolate_focused 0.433
## original_chocolate_negative -0.212
## original_chocolate_disgusting -0.115
## original_chocolate_appealing -0.119
## original_chocolate_eye_catching 0.131
## original_chocolate_attractive 0.007
## original_chocolate_avoid_looking -0.138
## original_chocolate_look_away
## desirability_chocolate -0.103
## classic_chocolate_pos_neg -0.089
## classic_chocolate_pleasant_unpleasant -0.006
## classic_chocolate_good_bad -0.060
## original_chocolate_like -0.010
## original_chocolate_attention_capturing -0.064
## original_chocolate_unusual -0.167
## original_chocolate_figure_out -0.119
## original_chocolate_positive -0.049
## original_chocolate_fixtated -0.141
## original_chocolate_look_away 1.000
## original_chocolate_focused -0.099
## original_chocolate_negative 0.174
## original_chocolate_disgusting 0.125
## original_chocolate_appealing -0.012
## original_chocolate_eye_catching -0.078
## original_chocolate_attractive 0.074
## original_chocolate_avoid_looking 0.363
## original_chocolate_focused
## desirability_chocolate -0.124
## classic_chocolate_pos_neg -0.111
## classic_chocolate_pleasant_unpleasant -0.189
## classic_chocolate_good_bad -0.096
## original_chocolate_like -0.211
## original_chocolate_attention_capturing 0.055
## original_chocolate_unusual 0.163
## original_chocolate_figure_out 0.256
## original_chocolate_positive -0.058
## original_chocolate_fixtated 0.433
## original_chocolate_look_away -0.099
## original_chocolate_focused 1.000
## original_chocolate_negative -0.107
## original_chocolate_disgusting -0.055
## original_chocolate_appealing -0.162
## original_chocolate_eye_catching 0.057
## original_chocolate_attractive 0.019
## original_chocolate_avoid_looking -0.118
## original_chocolate_negative
## desirability_chocolate -0.110
## classic_chocolate_pos_neg 0.069
## classic_chocolate_pleasant_unpleasant 0.020
## classic_chocolate_good_bad 0.236
## original_chocolate_like 0.016
## original_chocolate_attention_capturing -0.121
## original_chocolate_unusual -0.133
## original_chocolate_figure_out -0.106
## original_chocolate_positive 0.142
## original_chocolate_fixtated -0.212
## original_chocolate_look_away 0.174
## original_chocolate_focused -0.107
## original_chocolate_negative 1.000
## original_chocolate_disgusting 0.309
## original_chocolate_appealing -0.160
## original_chocolate_eye_catching -0.235
## original_chocolate_attractive -0.171
## original_chocolate_avoid_looking 0.269
## original_chocolate_disgusting
## desirability_chocolate -0.065
## classic_chocolate_pos_neg -0.165
## classic_chocolate_pleasant_unpleasant -0.042
## classic_chocolate_good_bad -0.098
## original_chocolate_like 0.073
## original_chocolate_attention_capturing -0.075
## original_chocolate_unusual -0.128
## original_chocolate_figure_out -0.096
## original_chocolate_positive -0.009
## original_chocolate_fixtated -0.115
## original_chocolate_look_away 0.125
## original_chocolate_focused -0.055
## original_chocolate_negative 0.309
## original_chocolate_disgusting 1.000
## original_chocolate_appealing 0.111
## original_chocolate_eye_catching -0.109
## original_chocolate_attractive 0.016
## original_chocolate_avoid_looking 0.195
## original_chocolate_appealing
## desirability_chocolate 0.103
## classic_chocolate_pos_neg -0.265
## classic_chocolate_pleasant_unpleasant -0.129
## classic_chocolate_good_bad -0.195
## original_chocolate_like 0.081
## original_chocolate_attention_capturing -0.113
## original_chocolate_unusual -0.041
## original_chocolate_figure_out -0.069
## original_chocolate_positive -0.093
## original_chocolate_fixtated -0.119
## original_chocolate_look_away -0.012
## original_chocolate_focused -0.162
## original_chocolate_negative -0.160
## original_chocolate_disgusting 0.111
## original_chocolate_appealing 1.000
## original_chocolate_eye_catching 0.065
## original_chocolate_attractive 0.221
## original_chocolate_avoid_looking 0.038
## original_chocolate_eye_catching
## desirability_chocolate -0.154
## classic_chocolate_pos_neg -0.230
## classic_chocolate_pleasant_unpleasant -0.287
## classic_chocolate_good_bad -0.301
## original_chocolate_like -0.256
## original_chocolate_attention_capturing 0.355
## original_chocolate_unusual 0.051
## original_chocolate_figure_out 0.121
## original_chocolate_positive -0.224
## original_chocolate_fixtated 0.131
## original_chocolate_look_away -0.078
## original_chocolate_focused 0.057
## original_chocolate_negative -0.235
## original_chocolate_disgusting -0.109
## original_chocolate_appealing 0.065
## original_chocolate_eye_catching 1.000
## original_chocolate_attractive 0.421
## original_chocolate_avoid_looking -0.062
## original_chocolate_attractive
## desirability_chocolate -0.134
## classic_chocolate_pos_neg -0.299
## classic_chocolate_pleasant_unpleasant -0.321
## classic_chocolate_good_bad -0.264
## original_chocolate_like -0.256
## original_chocolate_attention_capturing 0.045
## original_chocolate_unusual -0.043
## original_chocolate_figure_out -0.001
## original_chocolate_positive -0.073
## original_chocolate_fixtated 0.007
## original_chocolate_look_away 0.074
## original_chocolate_focused 0.019
## original_chocolate_negative -0.171
## original_chocolate_disgusting 0.016
## original_chocolate_appealing 0.221
## original_chocolate_eye_catching 0.421
## original_chocolate_attractive 1.000
## original_chocolate_avoid_looking 0.058
## original_chocolate_avoid_looking
## desirability_chocolate -0.064
## classic_chocolate_pos_neg -0.076
## classic_chocolate_pleasant_unpleasant -0.025
## classic_chocolate_good_bad -0.038
## original_chocolate_like -0.045
## original_chocolate_attention_capturing -0.110
## original_chocolate_unusual -0.123
## original_chocolate_figure_out -0.086
## original_chocolate_positive -0.056
## original_chocolate_fixtated -0.138
## original_chocolate_look_away 0.363
## original_chocolate_focused -0.118
## original_chocolate_negative 0.269
## original_chocolate_disgusting 0.195
## original_chocolate_appealing 0.038
## original_chocolate_eye_catching -0.062
## original_chocolate_attractive 0.058
## original_chocolate_avoid_looking 1.000
Retaining all exclusion criteria other than the attention checks
data_exclusions_partial <- data_processed |>
filter(self_exclude == "passed" &
bot_check == "passed" &
age_check == "passed" &
completeness_check == "passed" &
completion_time_check == "passed")
repeated_measures_d(x = data_exclusions_partial$attention_check2_numeric,
y = data_exclusions_partial$attention_check1_numeric,
method = "av") |>
select(-CI) |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| d_av | CI_low | CI_high |
|---|---|---|
| 51.93 | 51.8 | 52.05 |
data_exclusions_partial |>
summarize(mean_respondwith1 = mean(attention_check1_numeric),
sd_respondwith1 = sd(attention_check1_numeric),
mean_respondwith7 = mean(attention_check2_numeric),
sd_respondwith7 = sd(attention_check2_numeric)) |>
pivot_longer(cols = everything()) |>
mutate(value = round_half_up(value, 2))## # A tibble: 4 × 2
## name value
## <chr> <dbl>
## 1 mean_respondwith1 1
## 2 sd_respondwith1 0.09
## 3 mean_respondwith7 6.99
## 4 sd_respondwith7 0.14
ggplot(data_exclusions_partial, aes(attention_check1_numeric)) +
geom_histogram(boundary = 0.5, binwidth = 1) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7)ggplot(data_exclusions_partial, aes(attention_check2_numeric)) +
geom_histogram(boundary = 0.5, binwidth = 1) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7)data_exclusions_reshaped_2 <- data_exclusions |>
select(participant_id,
girls_skirts,
boys_skirts,
cats_legs,
fish_legs,
vacation,
pedophile,
love,
murder,
honest,
dishonest,
racist,
shrewd,
mcdonalds,
burgerking,
liberals,
conservatives) |>
pivot_longer(cols = -participant_id,
names_to = "stimulus",
values_to = "response") |>
mutate(stimulus = fct_relevel(stimulus,
"girls_skirts",
"boys_skirts",
"cats_legs",
"fish_legs",
"vacation",
"pedophile",
"love",
"murder",
"honest",
"dishonest",
"racist",
"shrewd",
"mcdonalds",
"burgerking",
"liberals",
"conservatives"))
ggplot(data_exclusions_reshaped_2, aes(response)) +
geom_histogram(boundary = 0.5, binwidth = 1) +
scale_x_continuous(limits = c(0.5, 7.5), breaks = 1:7) +
theme_linedraw() +
facet_wrap( ~ stimulus)data_exclusions_reshaped_2 |>
group_by(stimulus) |>
summarize(mean = mean(response),
sd = sd(response)) |>
mutate_if(is.numeric, round_half_up, digits = 2) |>
kable() |>
kable_classic(full_width = FALSE)| stimulus | mean | sd |
|---|---|---|
| girls_skirts | 5.23 | 1.42 |
| boys_skirts | 1.94 | 1.03 |
| cats_legs | 6.81 | 0.66 |
| fish_legs | 1.06 | 0.25 |
| vacation | 6.53 | 0.77 |
| pedophile | 1.08 | 0.43 |
| love | 6.74 | 0.54 |
| murder | 1.10 | 0.42 |
| honest | 6.54 | 0.72 |
| dishonest | 1.51 | 0.74 |
| racist | 1.25 | 0.68 |
| shrewd | 4.24 | 1.59 |
| mcdonalds | 4.12 | 1.63 |
| burgerking | 4.09 | 1.57 |
| liberals | 4.10 | 1.57 |
| conservatives | 3.01 | 1.65 |
## R version 4.5.0 (2025-04-11)
## Platform: aarch64-apple-darwin20
## Running under: macOS Sequoia 15.6
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.1
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## time zone: Europe/Zurich
## tzcode source: internal
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] mirt_1.44.0 lattice_0.22-6 ggstance_0.3.7 purrr_1.1.0
## [5] tibble_3.3.0 lavaan_0.6-19 janitor_2.2.1 kableExtra_1.4.0
## [9] knitr_1.50 psych_2.5.3 effectsize_1.0.0 forcats_1.0.1
## [13] scales_1.4.0 ggplot2_4.0.0 tidyr_1.3.1 dplyr_1.1.4
## [17] readr_2.1.5
##
## loaded via a namespace (and not attached):
## [1] mnormt_2.1.1 pbapply_1.7-4 gridExtra_2.3
## [4] testthat_3.2.3 permute_0.9-7 sandwich_3.1-1
## [7] rlang_1.1.6 magrittr_2.0.4 multcomp_1.4-28
## [10] snakecase_0.11.1 compiler_4.5.0 mgcv_1.9-1
## [13] systemfonts_1.2.3 vctrs_0.6.5 quadprog_1.5-8
## [16] stringr_1.5.2 pkgconfig_2.0.3 crayon_1.5.3
## [19] fastmap_1.2.0 labeling_0.4.3 pbivnorm_0.6.0
## [22] utf8_1.2.6 rmarkdown_2.30 sessioninfo_1.2.3
## [25] tzdb_0.5.0 bit_4.6.0 xfun_0.53
## [28] cachem_1.1.0 jsonlite_2.0.0 Deriv_4.1.6
## [31] parallel_4.5.0 cluster_2.1.8.1 R6_2.6.1
## [34] bslib_0.9.0 stringi_1.8.7 RColorBrewer_1.1-3
## [37] parallelly_1.45.1 brio_1.1.5 lubridate_1.9.4
## [40] jquerylib_0.1.4 estimability_1.5.1 Rcpp_1.1.0
## [43] future.apply_1.20.0 zoo_1.8-14 audio_0.1-11
## [46] parameters_0.27.0 R.utils_2.13.0 Matrix_1.7-3
## [49] splines_4.5.0 timechange_0.3.0 tidyselect_1.2.1
## [52] rstudioapi_0.17.1 yaml_2.3.10 vegan_2.7-1
## [55] codetools_0.2-20 dcurver_0.9.2 listenv_0.9.1
## [58] withr_3.0.2 bayestestR_0.16.1 S7_0.2.0
## [61] coda_0.19-4.1 evaluate_1.0.5 future_1.67.0
## [64] survival_3.8-3 xml2_1.4.0 pillar_1.11.1
## [67] insight_1.4.0.8 generics_0.1.4 vroom_1.6.6
## [70] hms_1.1.3 globals_0.18.0 xtable_1.8-4
## [73] glue_1.8.0 emmeans_1.11.2-8 tools_4.5.0
## [76] beepr_2.0 SimDesign_2.19.2 mvtnorm_1.3-3
## [79] grid_4.5.0 datawizard_1.1.0 nlme_3.1-168
## [82] cli_3.6.5 textshaping_1.0.3 viridisLite_0.4.2
## [85] svglite_2.2.1 gtable_0.3.6 R.methodsS3_1.8.2
## [88] sass_0.4.10 digest_0.6.37 progressr_0.15.1
## [91] GPArotation_2025.3-1 TH.data_1.1-3 farver_2.1.2
## [94] htmltools_0.5.8.1 R.oo_1.27.1 lifecycle_1.0.4
## [97] bit64_4.6.0-1 MASS_7.3-65